home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 1.iso / ARGONET / PD / SOUND / AUDIOFIRE.ZIP / !FireBench / !Help next >
Text File  |  1998-04-13  |  3KB  |  58 lines

  1. ==============================================================================
  2.  FireBench V0.1 by Michael Kübel 28/02/98 (Risc PC only, sorry...)
  3. ==============================================================================
  4.  
  5. This is only a kind of a waste product for my '!AudioFire' program, so don't
  6. take this too seriously...
  7.  
  8. I wrote this to check how fast my fire routine can calculate a fire and
  9. to test the impact of some code optimizations.
  10.  
  11. Here are some results:
  12.                                              Time    ->   Frames/s
  13. --------------------------------------------------------------------------------
  14.  Risc PC,   ARM 610,    40 MHz               16.04          62.34
  15.  Risc PC,   StrongARM, 202 MHz                5.71         175.13
  16.  Risc PC,   StrongARM, 257 MHz                5.25         190.47
  17.  Risc PC,   StrongARM, 287 MHz                5.00         200.00
  18. --------------------------------------------------------------------------------
  19.  
  20. (Please note that the results differ a bit each time you run !FireBench,
  21.  may be about +/- 0.05 sec. or something like that)
  22.  
  23. As you can see, the StrongARM is only about 3 times faster than my ARM 610
  24. machine. This must be because of the huge memory access of this algorithm.
  25. I still hope that Acorn puts a 2nd level cache in the Risc PC 2 :-) !!!
  26.  
  27. If you've got any different results (ARM710,more/less Mhz,...) post them
  28. to me !
  29.  
  30. Some technical notes...
  31.  
  32. This is a fire simulation which calculates the new pixels from the eight
  33. sourrounding pixels and stores the new pixels as you can see here...
  34.  
  35.    XXX  X:old pixels => sum all 8  => div by 8 => store new one (O) at  XOX  
  36.    X X                                                                  X X
  37.    XXX                                                                  XXX
  38.  
  39. Due to the overlapping pixels, a second buffer is needed and there have
  40. to be put some random hotspots in the basic line.
  41.  
  42. I optimized everything as much as I could. No STRB's/LDRB's in the fire
  43. calculation routine. I use every free ARM register and so I first read
  44. all pixels I need WORDwise, build some often used sums, calculate 4 new
  45. ones and then store all with one STR.
  46.  
  47. If you've done further speed improvements please let me know !!!
  48.  
  49. Of course a fire calculated of 4 pixels can be done much faster, but I think
  50. it doesn't look that good...
  51.  
  52. Contacting me
  53. -------------
  54.  Please don't hesitate to report any bugs, ideas, or whatever to me:
  55.  
  56.  s-mail: Michael Kübel, Weißenhofstr. 36, 74235 Erlenbach, Germany  
  57.  e-mail: kuemmel@studbox.uni-stuttgart.de
  58.